<?php
	class AdmSituationFamiliale extends AdmModule {
		public function action_index() {
			if (isset($this->session->modification_situation_familiale_id)) {
				unset($this->session->modification_situation_familiale_id);
			}
			
			$this->set_title('Liste des situations familiales possibles');
			$this->tpl->assign('liste', SituationFamiliale::recupererListe());
		}
		
		public function action_ajouter() {
			$formulaire = new Form("?module=admsituationfamiliale&action=valider_ajout","formulaire");
			$formulaire->add_text("situation_familiale","situation_familiale","Détails de la situation :");
			$formulaire->add_submit("ajouter_situation_familiale_submit", "ajouter_situation_familiale_submit")->set_value("Ajouter la situation");	
			
			$this->tpl->assign("formulaire", $formulaire);		
		}
		
		public function action_valider_ajout() {
			if ($this->req->situation_familiale == '') {
				$this->site->ajouter_message("Veuillez indiquer la situation.");
				$this->site->redirect('admsituationfamiliale', 'ajouter');
			}
			else {
				$situation_familiale = new SituationFamiliale($this->req->situation_familiale);
				$situation_familiale->enregistrer();
				
				$this->site->redirect('admsituationfamiliale');
			}
		}
		
		public function action_modifier() {
			if ($this->req->id > 0 || $this->session->modification_situation_familiale_id) {
				try {
					$situation_familiale = SituationFamiliale::recupererAvecID($this->req->id);
				}
				catch (MyException $e) {
					try {
						$situation_familiale = SituationFamiliale::recupererAvecID($this->session->modification_situation_familiale_id);
					}
					catch (MyException $e) {
					}
				}
				
				if (isset($this->session->modification_situation_familiale_id)) {
					$this->req->id = $this->session->modification_situation_familiale_id;
					unset($this->session->modification_situation_familiale_id);
				}
			
				$formulaire = new Form("?module=admsituationfamiliale&action=valider_modification","formulaire");
				$formulaire->add_text("situation_familiale","situation_familiale","Détails de la situation :")->set_value($situation_familiale->valeur);
				$formulaire->add_submit("modifier_situation_familiale_submit", "modifier_situation_familiale_submit")->set_value("Modifier la situation");	
				$this->session->modification_situation_familiale_id = $this->req->id;
				
				$this->tpl->assign("formulaire", $formulaire);		
			}
			else {
				$this->site->redirect('admsituationfamiliale');
			}
		}
		
		public function action_valider_modification() {
			if ($this->session->modification_situation_familiale_id <= 0) {
				$this->site->redirect('admsituationfamiliale');
			}
			elseif ($this->req->situation_familiale == '') {
				$this->site->ajouter_message('Vous ne pouvez pas donner une situation vide !');
				$this->site->redirect('admsituationfamiliale', 'modifier');
			}	
			else {
				unset($this->req->modification_situation_familiale_id);
				
				$situation_familiale = SituationFamiliale::recupererAvecID($this->session->modification_situation_familiale_id);
				$situation_familiale->valeur = $this->req->situation_familiale;
				
				$situation_familiale->enregistrer();
				
				$this->site->ajouter_message('Modification effectuée');
				$this->site->redirect('admsituationfamiliale');
			}
		}
		
		public function action_supprimer() {
			if ($this->req->id > 0) {
				$situation_familiale = SituationFamiliale::recupererAvecID($this->req->id);
				$situation_familiale->supprimer();
				
				$this->site->ajouter_message('Suppression effectuée');
				$this->site->redirect('admsituationfamiliale');
			}
			else {
				$this->site->redirect('admsituationfamiliale');
			}
		}
	}
?>